#pragma once

#include "WolvGen.h"


class CProduction_Expression_Copy : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Assign : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Equal : public CProductionIMPL
{
public:
	CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_NotEqual: public CProductionIMPL
{
public:
	CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Plus : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Minus : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Mult : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Divide : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Mod : public CProductionIMPL
{
public:
	CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_Nagetive : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

class CProduction_Expression_ParentThese : public CProductionIMPL
{
public:
    CTokenPtr Reduce(CProductionArgPtr pArgs);
};

